<!-- components/Calculate.vue -->
<template>
  <span>{{ result }}</span>
</template>

<script setup>
import { computed } from 'vue';

const props = defineProps({
  expr: {
    type: String,
    required: true
  }
});

// 安全计算简单表达式（仅支持加减乘除）
const result = computed(() => {
  try {
    // 过滤非数字和运算符字符，防止注入攻击
    const sanitizedExpr = props.expr.replace(/[^0-9+\-*/() .]/g, '');
    return eval(sanitizedExpr); // 注意：eval 需谨慎使用
  } catch (error) {
    return '计算错误';
  }
});
</script>
